package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * 文件输入流，读取文件数据
 */
public class FISDemo {
    public static void main(String[] args) throws IOException {
        /*
           FileInputStream(filename)
           FileInputStream(File file)
         */
        FileInputStream fis = new FileInputStream("fos.dat");//定义文件输入流
        /*
         * InputStream超类上定义了一个字节的方法:(所有的字节输入流都具有该方法)
         * int read():读取1个字节，并以int形式返回
         * 1)返回的int值对应的2进制中只有“低八位”是有效的，高24位全部补0
         * 2)
         *
         * 第1次调用：int d = fis.reed();读取第1个字节
         * fos.dat的数据:
         * 00000001   00000010
         * ^^^^^^^^
         * 读取的字节
         * 此时 变量d对应的2进制样子:00000000 00000000 00000000 00000001
         *                               24个0               读取的字节
         * 第2次调用:int d = fis.reed();读取第2个字节
         * fos.dat的数据:
         * 00000001   00000010
         *            ^^^^^^^^
         *         读取的字节
         * 此时 变量d对应的2进制样子:00000000 00000000 00000000 00000010
         *                               24个0               读取的字节
         *
         * */
        int d = fis.read();//读取第1个字节
        System.out.println(d);//输出10进制数据:1

        d = fis.read();//又读取了1个字节
        System.out.println(d);//输出10进制数据:2

        d = fis.read();//读取文件末尾了
        System.out.println(d);//输出10进制数据:-1,表示到文件末尾了

        fis.close();//关闭流f
    }
}
